#ifndef GETFILENAME_H
#define GETFILENAME_H

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/epoll.h>
#include <sys/socket.h>
#include <string.h>
#include <signal.h>
#include <errno.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>

#define PORT 2222

char* getfilename(const char *ip);

int createsock(void);

int epoll_loop(int *efd,int *sfd);

void* rdata(void* arg);

typedef struct _myefd
{
    int *fd;
    int *efd;
    int *sfd;
    int *c_sum;
    pthread_t *pid;
    pthread_mutex_t mutex_count;
    char ip[16];
    /*
     * 以下是个人信息
     * 绑定到fd上标识
     * fd的归属
     */
    int id;
    char name[32];
    struct _myefd *next;
    struct _myefd *head;
}myefd;


#endif // GETFILENAME_H
